#include <iostream>
#include <algorithm>
using namespace std;
class Set{
private:
    int size;
    int element[10005];
public:
    Set(){
    }
    void setelements(){
	size=0;
	int inputnum;
	cin>>inputnum;
	for(int i=0;i<inputnum;i++){
	    int num;
	    int flag=0;
	    cin>>num;
	    for(int j=0;j<size;j++){
		if(num==element[j]){
		    flag=1;
		}
	    }
	    if(flag==0){
		element[size++]=num;
	    }
	}
	sort(element,element+size);
    }
    int getsize(){
	return size;
    }
    int* getelement(){
	return element;
    }
};
void compare1(Set &S1,Set &S2){
    int numofsame=0;
    int i=0;
    int j=0;
    while(i<S1.getsize()&&j<S2.getsize()){
	if(S1.getelement()[i]<S2.getelement()[j]){
	    i++;
	}
	else if(S1.getelement()[i]==S2.getelement()[j]){
	    numofsame++;
	    i++;
	    j++;
	}else{
	    j++;
	}
    }
    while(i<S1.getsize()){
	if(S1.getelement()[i]==S2.getelement()[j-1]){
	    numofsame++;
	}
	i++;
    }
    while(j<S2.getsize()){
	if(S2.getelement()[j]==S1.getelement()[i-1]){
	    numofsame++;
	}
	j++;
    }
    int numofdiff=S1.getsize()+S2.getsize()-numofsame;
    double idea=numofsame*1.0/numofdiff;
    idea=idea*100;
    printf("%.1f%%\n",idea);
}
int main(){
    Set S[55];
    int snum;
    cin>>snum;
    for(int i=1;i<=snum;i++){
	S[i].setelements();
    }
    int cmpnum;
    cin>>cmpnum;
    int i,j;
    for(int k=0;k<cmpnum;k++){
	cin>>i>>j;
	compare1(S[i],S[j]);
    }
}
